package com.esyoga.yoyoga.pojo;

import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

@Component
public class TContractExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TContractExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCIdIsNull() {
            addCriterion("c_id is null");
            return (Criteria) this;
        }

        public Criteria andCIdIsNotNull() {
            addCriterion("c_id is not null");
            return (Criteria) this;
        }

        public Criteria andCIdEqualTo(Integer value) {
            addCriterion("c_id =", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotEqualTo(Integer value) {
            addCriterion("c_id <>", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThan(Integer value) {
            addCriterion("c_id >", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_id >=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThan(Integer value) {
            addCriterion("c_id <", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_id <=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdIn(List<Integer> values) {
            addCriterion("c_id in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotIn(List<Integer> values) {
            addCriterion("c_id not in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdBetween(Integer value1, Integer value2) {
            addCriterion("c_id between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_id not between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andCSIdIsNull() {
            addCriterion("c_s_id is null");
            return (Criteria) this;
        }

        public Criteria andCSIdIsNotNull() {
            addCriterion("c_s_id is not null");
            return (Criteria) this;
        }

        public Criteria andCSIdEqualTo(Integer value) {
            addCriterion("c_s_id =", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdNotEqualTo(Integer value) {
            addCriterion("c_s_id <>", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdGreaterThan(Integer value) {
            addCriterion("c_s_id >", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_s_id >=", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdLessThan(Integer value) {
            addCriterion("c_s_id <", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_s_id <=", value, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdIn(List<Integer> values) {
            addCriterion("c_s_id in", values, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdNotIn(List<Integer> values) {
            addCriterion("c_s_id not in", values, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdBetween(Integer value1, Integer value2) {
            addCriterion("c_s_id between", value1, value2, "cSId");
            return (Criteria) this;
        }

        public Criteria andCSIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_s_id not between", value1, value2, "cSId");
            return (Criteria) this;
        }

        public Criteria andCTIdIsNull() {
            addCriterion("c_t_id is null");
            return (Criteria) this;
        }

        public Criteria andCTIdIsNotNull() {
            addCriterion("c_t_id is not null");
            return (Criteria) this;
        }

        public Criteria andCTIdEqualTo(Integer value) {
            addCriterion("c_t_id =", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdNotEqualTo(Integer value) {
            addCriterion("c_t_id <>", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdGreaterThan(Integer value) {
            addCriterion("c_t_id >", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_t_id >=", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdLessThan(Integer value) {
            addCriterion("c_t_id <", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_t_id <=", value, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdIn(List<Integer> values) {
            addCriterion("c_t_id in", values, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdNotIn(List<Integer> values) {
            addCriterion("c_t_id not in", values, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdBetween(Integer value1, Integer value2) {
            addCriterion("c_t_id between", value1, value2, "cTId");
            return (Criteria) this;
        }

        public Criteria andCTIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_t_id not between", value1, value2, "cTId");
            return (Criteria) this;
        }

        public Criteria andCGIdIsNull() {
            addCriterion("c_g_id is null");
            return (Criteria) this;
        }

        public Criteria andCGIdIsNotNull() {
            addCriterion("c_g_id is not null");
            return (Criteria) this;
        }

        public Criteria andCGIdEqualTo(Integer value) {
            addCriterion("c_g_id =", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdNotEqualTo(Integer value) {
            addCriterion("c_g_id <>", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdGreaterThan(Integer value) {
            addCriterion("c_g_id >", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_g_id >=", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdLessThan(Integer value) {
            addCriterion("c_g_id <", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_g_id <=", value, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdIn(List<Integer> values) {
            addCriterion("c_g_id in", values, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdNotIn(List<Integer> values) {
            addCriterion("c_g_id not in", values, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdBetween(Integer value1, Integer value2) {
            addCriterion("c_g_id between", value1, value2, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_g_id not between", value1, value2, "cGId");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioIsNull() {
            addCriterion("c_ga_platformratio is null");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioIsNotNull() {
            addCriterion("c_ga_platformratio is not null");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioEqualTo(Double value) {
            addCriterion("c_ga_platformratio =", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioNotEqualTo(Double value) {
            addCriterion("c_ga_platformratio <>", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioGreaterThan(Double value) {
            addCriterion("c_ga_platformratio >", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioGreaterThanOrEqualTo(Double value) {
            addCriterion("c_ga_platformratio >=", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioLessThan(Double value) {
            addCriterion("c_ga_platformratio <", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioLessThanOrEqualTo(Double value) {
            addCriterion("c_ga_platformratio <=", value, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioIn(List<Double> values) {
            addCriterion("c_ga_platformratio in", values, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioNotIn(List<Double> values) {
            addCriterion("c_ga_platformratio not in", values, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioBetween(Double value1, Double value2) {
            addCriterion("c_ga_platformratio between", value1, value2, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCGaPlatformratioNotBetween(Double value1, Double value2) {
            addCriterion("c_ga_platformratio not between", value1, value2, "cGaPlatformratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioIsNull() {
            addCriterion("c_ta_gymratio is null");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioIsNotNull() {
            addCriterion("c_ta_gymratio is not null");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioEqualTo(Double value) {
            addCriterion("c_ta_gymratio =", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioNotEqualTo(Double value) {
            addCriterion("c_ta_gymratio <>", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioGreaterThan(Double value) {
            addCriterion("c_ta_gymratio >", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioGreaterThanOrEqualTo(Double value) {
            addCriterion("c_ta_gymratio >=", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioLessThan(Double value) {
            addCriterion("c_ta_gymratio <", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioLessThanOrEqualTo(Double value) {
            addCriterion("c_ta_gymratio <=", value, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioIn(List<Double> values) {
            addCriterion("c_ta_gymratio in", values, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioNotIn(List<Double> values) {
            addCriterion("c_ta_gymratio not in", values, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioBetween(Double value1, Double value2) {
            addCriterion("c_ta_gymratio between", value1, value2, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCTaGymratioNotBetween(Double value1, Double value2) {
            addCriterion("c_ta_gymratio not between", value1, value2, "cTaGymratio");
            return (Criteria) this;
        }

        public Criteria andCBanlanceIsNull() {
            addCriterion("c_banlance is null");
            return (Criteria) this;
        }

        public Criteria andCBanlanceIsNotNull() {
            addCriterion("c_banlance is not null");
            return (Criteria) this;
        }

        public Criteria andCBanlanceEqualTo(BigDecimal value) {
            addCriterion("c_banlance =", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceNotEqualTo(BigDecimal value) {
            addCriterion("c_banlance <>", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceGreaterThan(BigDecimal value) {
            addCriterion("c_banlance >", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("c_banlance >=", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceLessThan(BigDecimal value) {
            addCriterion("c_banlance <", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("c_banlance <=", value, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceIn(List<BigDecimal> values) {
            addCriterion("c_banlance in", values, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceNotIn(List<BigDecimal> values) {
            addCriterion("c_banlance not in", values, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("c_banlance between", value1, value2, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCBanlanceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("c_banlance not between", value1, value2, "cBanlance");
            return (Criteria) this;
        }

        public Criteria andCStateIsNull() {
            addCriterion("c_state is null");
            return (Criteria) this;
        }

        public Criteria andCStateIsNotNull() {
            addCriterion("c_state is not null");
            return (Criteria) this;
        }

        public Criteria andCStateEqualTo(Integer value) {
            addCriterion("c_state =", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateNotEqualTo(Integer value) {
            addCriterion("c_state <>", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateGreaterThan(Integer value) {
            addCriterion("c_state >", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_state >=", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateLessThan(Integer value) {
            addCriterion("c_state <", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateLessThanOrEqualTo(Integer value) {
            addCriterion("c_state <=", value, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateIn(List<Integer> values) {
            addCriterion("c_state in", values, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateNotIn(List<Integer> values) {
            addCriterion("c_state not in", values, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateBetween(Integer value1, Integer value2) {
            addCriterion("c_state between", value1, value2, "cState");
            return (Criteria) this;
        }

        public Criteria andCStateNotBetween(Integer value1, Integer value2) {
            addCriterion("c_state not between", value1, value2, "cState");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeIsNull() {
            addCriterion("c_updatetime is null");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeIsNotNull() {
            addCriterion("c_updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeEqualTo(String value) {
            addCriterion("c_updatetime =", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeNotEqualTo(String value) {
            addCriterion("c_updatetime <>", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeGreaterThan(String value) {
            addCriterion("c_updatetime >", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeGreaterThanOrEqualTo(String value) {
            addCriterion("c_updatetime >=", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeLessThan(String value) {
            addCriterion("c_updatetime <", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeLessThanOrEqualTo(String value) {
            addCriterion("c_updatetime <=", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeLike(String value) {
            addCriterion("c_updatetime like", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeNotLike(String value) {
            addCriterion("c_updatetime not like", value, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeIn(List<String> values) {
            addCriterion("c_updatetime in", values, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeNotIn(List<String> values) {
            addCriterion("c_updatetime not in", values, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeBetween(String value1, String value2) {
            addCriterion("c_updatetime between", value1, value2, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCUpdatetimeNotBetween(String value1, String value2) {
            addCriterion("c_updatetime not between", value1, value2, "cUpdatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeIsNull() {
            addCriterion("c_createtime is null");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeIsNotNull() {
            addCriterion("c_createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeEqualTo(String value) {
            addCriterion("c_createtime =", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeNotEqualTo(String value) {
            addCriterion("c_createtime <>", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeGreaterThan(String value) {
            addCriterion("c_createtime >", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeGreaterThanOrEqualTo(String value) {
            addCriterion("c_createtime >=", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeLessThan(String value) {
            addCriterion("c_createtime <", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeLessThanOrEqualTo(String value) {
            addCriterion("c_createtime <=", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeLike(String value) {
            addCriterion("c_createtime like", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeNotLike(String value) {
            addCriterion("c_createtime not like", value, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeIn(List<String> values) {
            addCriterion("c_createtime in", values, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeNotIn(List<String> values) {
            addCriterion("c_createtime not in", values, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeBetween(String value1, String value2) {
            addCriterion("c_createtime between", value1, value2, "cCreatetime");
            return (Criteria) this;
        }

        public Criteria andCCreatetimeNotBetween(String value1, String value2) {
            addCriterion("c_createtime not between", value1, value2, "cCreatetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}